#ifndef TEXTOS_HPP
#define TEXTOS_HPP

/*--------------------------------------------------------------------------------------------------------------
 * INCLUDES
 *-------------------------------------------------------------------------------------------------------------*/
#include "utils.hpp"

namespace bp
{

/*--------------------------------------------------------------------------------------------------------------
 * CLASS: Texto
 *-------------------------------------------------------------------------------------------------------------*/
class Texto
{
	/*--------------------------------------------------------------------------------------------------------------
	* PRIVATE ATTRIBUTES
	*--------------------------------------------------------------------------------------------------------------*/
	private:
		TTF_Font*												m_fuente;
		SDL_Color												m_color, m_colorFondo;

	/*--------------------------------------------------------------------------------------------------------------
	* PRIVATE METHODS
	*--------------------------------------------------------------------------------------------------------------*/		
	private:
		void						Limpiar						();

	/*--------------------------------------------------------------------------------------------------------------
	* PUBLIC METHODS
	*--------------------------------------------------------------------------------------------------------------*/
	public:
									Texto						(void);
									~Texto						(void);
		bool						CargaFuente					(const char* rutaFichero, int32_t alto);		
		SDL_Surface*				Dibujar						(const char* texto);
		void						PonerColor					(SDL_Color color);													
		void						PonerColorFondo				(SDL_Color colorFondo);		
		SDL_Color					ObtenerColor				() { return m_color; }	
		SDL_Color					ObtenerColorFondo			() { return m_colorFondo; }
		int32_t							ObtenerAltura				() { return TTF_FontHeight(m_fuente); }
};
} // namespace bp

#endif //TEXTOS_HPP
